package RRHH_Modelo;

import Conexion.Conexion;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class RHH_PLANILLA_CORPORATIVOS {

    private int ID;
    private int ID_CORPORATIVOS;
    private int ID_SUCURSAL;
    private int ANO;
    private int MES;
    private Double MONTO_FACTURADO;
    private int ESTADO;
    private Conexion con = null;

    public RHH_PLANILLA_CORPORATIVOS(Conexion con) {
        this.con = con;
    }

    public RHH_PLANILLA_CORPORATIVOS(int ID, int ID_CORPORATIVOS, int ID_SUCURSAL, int ANO, int MES, Double MONTO_FACTURADO, int ESTADO) {
        this.ID = ID;
        this.ID_CORPORATIVOS = ID_CORPORATIVOS;
        this.ID_SUCURSAL = ID_SUCURSAL;
        this.ANO = ANO;
        this.MES = MES;
        this.MONTO_FACTURADO = MONTO_FACTURADO;
        this.ESTADO = ESTADO;
    }

    public int Insertar() throws SQLException {
        String consulta = "insert into BROKER.RHH_PLANILLA_CORPORATIVOS (ID, ID_CORPORATIVOS, ID_SUCURSAL, ANO, MES, MONTO_FACTURADO, ESTADO) VALUES (" + ID + "," + ID_CORPORATIVOS + "," + ID_SUCURSAL + "," + ANO + "," + MES + "," + MONTO_FACTURADO + "," + ESTADO + ")";
        con.EjecutarSentencia(consulta);
        consulta = "select BROKER.RHH_PLANILLA_CORPORATIVOS_SEQ.currval as ID from dual";
        ResultSet rs = con.EjecutarConsulta(consulta);
        rs.next();
        return rs.getInt("ID");
    }
    public void pagar(int ano, int mes) throws SQLException
    {
        String consulta = "update BROKER.RHH_PLANILLA_CORPORATIVOS  set ESTADO = 0 where ANO= " + ano+" and MES = "+mes;
        con.EjecutarSentencia(consulta);
    }
    
    public List<RHH_PLANILLA_CORPORATIVOS> TodosXanoYmes(int ano, int mes) throws SQLException {
        String consulta = "select * from BROKER.RHH_PLANILLA_CORPORATIVOS where ANO = "+ano+" and MES = "+mes;
        ResultSet rs = con.EjecutarConsulta(consulta);
        List<RHH_PLANILLA_CORPORATIVOS> lista = Cargar(rs);
        return lista;
    }
    
    public RHH_PLANILLA_CORPORATIVOS ExisteXanoYmes(int ano, int mes, int idcorp) throws SQLException {
        String consulta = "select * from BROKER.RHH_PLANILLA_CORPORATIVOS where ANO = "+ano+" and MES = "+mes+" and ID_CORPORATIVOS="+idcorp;
        ResultSet rs = con.EjecutarConsulta(consulta);
        List<RHH_PLANILLA_CORPORATIVOS> lista = Cargar(rs);
        if(lista.size()>0)
            return lista.get(0);
        else
            return null;
    }

    public boolean EliminarXid() throws SQLException {
        String consulta = "delete from BROKER.RHH_PLANILLA_CORPORATIVOS where ID= " + getID();
        con.EjecutarSentencia(consulta);
        return true;
    }
    public boolean elimiar(int ano, int mes) throws SQLException {
        String consulta = "delete from BROKER.RHH_PLANILLA_CORPORATIVOS where ANO= " + ano+" and  MES="+mes;
        con.EjecutarSentencia(consulta);
        return true;
    }

    public List<RHH_PLANILLA_CORPORATIVOS> Todos() throws SQLException {
        String consulta = "select * from BROKER.RHH_PLANILLA_CORPORATIVOS";
        ResultSet rs = con.EjecutarConsulta(consulta);
        List<RHH_PLANILLA_CORPORATIVOS> lista = Cargar(rs);
        return lista;
    }

    public List<RHH_PLANILLA_CORPORATIVOS> Cargar(ResultSet rs) throws SQLException {
        List<RHH_PLANILLA_CORPORATIVOS> lista = new ArrayList<RHH_PLANILLA_CORPORATIVOS>();
        while (rs.next()) {
            RHH_PLANILLA_CORPORATIVOS objeto = new RHH_PLANILLA_CORPORATIVOS(con);
            objeto.setID(rs.getInt("ID"));
            objeto.setID_CORPORATIVOS(rs.getInt("ID_CORPORATIVOS"));
            objeto.setID_SUCURSAL(rs.getInt("ID_SUCURSAL"));
            objeto.setANO(rs.getInt("ANO"));
            objeto.setMES(rs.getInt("MES"));
            objeto.setMONTO_FACTURADO(rs.getDouble("MONTO_FACTURADO"));
            objeto.setESTADO(rs.getInt("ESTADO"));
            lista.add(objeto);
        }
        return lista;
    }

    public int getID() {
        return ID;
    }

    public void setID(int ID) {
        this.ID = ID;
    }

    public int getID_CORPORATIVOS() {
        return ID_CORPORATIVOS;
    }

    public void setID_CORPORATIVOS(int ID_CORPORATIVOS) {
        this.ID_CORPORATIVOS = ID_CORPORATIVOS;
    }

    public int getID_SUCURSAL() {
        return ID_SUCURSAL;
    }

    public void setID_SUCURSAL(int ID_SUCURSAL) {
        this.ID_SUCURSAL = ID_SUCURSAL;
    }

    public int getANO() {
        return ANO;
    }

    public void setANO(int ANO) {
        this.ANO = ANO;
    }

    public int getMES() {
        return MES;
    }

    public void setMES(int MES) {
        this.MES = MES;
    }

    public Double getMONTO_FACTURADO() {
        return MONTO_FACTURADO;
    }

    public void setMONTO_FACTURADO(Double MONTO_FACTURADO) {
        this.MONTO_FACTURADO = MONTO_FACTURADO;
    }

    public int getESTADO() {
        return ESTADO;
    }

    public void setESTADO(int ESTADO) {
        this.ESTADO = ESTADO;
    }

    public Conexion getCon() {
        return this.con;
    }

    public void setCon(Conexion con) {
        this.con = con;
    }
}
